﻿using System;
using System.CodeDom.Compiler;
using System.Diagnostics;
using Google.Protobuf;
using Google.Protobuf.Reflection;

namespace EggLink.DanhengServer.Proto
{
	// Token: 0x020004AD RID: 1197
	[DebuggerDisplay("{ToString(),nq}")]
	public sealed class Equipment : IMessage<Equipment>, IMessage, IEquatable<Equipment>, IDeepCloneable<Equipment>, IBufferMessage
	{
		// Token: 0x17000F66 RID: 3942
		// (get) Token: 0x060035E3 RID: 13795 RVA: 0x000941D3 File Offset: 0x000923D3
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public static MessageParser<Equipment> Parser
		{
			get
			{
				return Equipment._parser;
			}
		}

		// Token: 0x17000F67 RID: 3943
		// (get) Token: 0x060035E4 RID: 13796 RVA: 0x000941DA File Offset: 0x000923DA
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public static MessageDescriptor Descriptor
		{
			get
			{
				return EquipmentReflection.Descriptor.MessageTypes[0];
			}
		}

		// Token: 0x17000F68 RID: 3944
		// (get) Token: 0x060035E5 RID: 13797 RVA: 0x000941EC File Offset: 0x000923EC
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		MessageDescriptor IMessage.Descriptor
		{
			get
			{
				return Equipment.Descriptor;
			}
		}

		// Token: 0x060035E6 RID: 13798 RVA: 0x000941F3 File Offset: 0x000923F3
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public Equipment()
		{
		}

		// Token: 0x060035E7 RID: 13799 RVA: 0x000941FC File Offset: 0x000923FC
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public Equipment(Equipment other) : this()
		{
			this.rank_ = other.rank_;
			this.promotion_ = other.promotion_;
			this.level_ = other.level_;
			this.tid_ = other.tid_;
			this.exp_ = other.exp_;
			this.isProtected_ = other.isProtected_;
			this.dressAvatarId_ = other.dressAvatarId_;
			this.uniqueId_ = other.uniqueId_;
			this._unknownFields = UnknownFieldSet.Clone(other._unknownFields);
		}

		// Token: 0x060035E8 RID: 13800 RVA: 0x00094280 File Offset: 0x00092480
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public Equipment Clone()
		{
			return new Equipment(this);
		}

		// Token: 0x17000F69 RID: 3945
		// (get) Token: 0x060035E9 RID: 13801 RVA: 0x00094288 File Offset: 0x00092488
		// (set) Token: 0x060035EA RID: 13802 RVA: 0x00094290 File Offset: 0x00092490
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public uint Rank
		{
			get
			{
				return this.rank_;
			}
			set
			{
				this.rank_ = value;
			}
		}

		// Token: 0x17000F6A RID: 3946
		// (get) Token: 0x060035EB RID: 13803 RVA: 0x00094299 File Offset: 0x00092499
		// (set) Token: 0x060035EC RID: 13804 RVA: 0x000942A1 File Offset: 0x000924A1
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public uint Promotion
		{
			get
			{
				return this.promotion_;
			}
			set
			{
				this.promotion_ = value;
			}
		}

		// Token: 0x17000F6B RID: 3947
		// (get) Token: 0x060035ED RID: 13805 RVA: 0x000942AA File Offset: 0x000924AA
		// (set) Token: 0x060035EE RID: 13806 RVA: 0x000942B2 File Offset: 0x000924B2
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public uint Level
		{
			get
			{
				return this.level_;
			}
			set
			{
				this.level_ = value;
			}
		}

		// Token: 0x17000F6C RID: 3948
		// (get) Token: 0x060035EF RID: 13807 RVA: 0x000942BB File Offset: 0x000924BB
		// (set) Token: 0x060035F0 RID: 13808 RVA: 0x000942C3 File Offset: 0x000924C3
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public uint Tid
		{
			get
			{
				return this.tid_;
			}
			set
			{
				this.tid_ = value;
			}
		}

		// Token: 0x17000F6D RID: 3949
		// (get) Token: 0x060035F1 RID: 13809 RVA: 0x000942CC File Offset: 0x000924CC
		// (set) Token: 0x060035F2 RID: 13810 RVA: 0x000942D4 File Offset: 0x000924D4
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public uint Exp
		{
			get
			{
				return this.exp_;
			}
			set
			{
				this.exp_ = value;
			}
		}

		// Token: 0x17000F6E RID: 3950
		// (get) Token: 0x060035F3 RID: 13811 RVA: 0x000942DD File Offset: 0x000924DD
		// (set) Token: 0x060035F4 RID: 13812 RVA: 0x000942E5 File Offset: 0x000924E5
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public bool IsProtected
		{
			get
			{
				return this.isProtected_;
			}
			set
			{
				this.isProtected_ = value;
			}
		}

		// Token: 0x17000F6F RID: 3951
		// (get) Token: 0x060035F5 RID: 13813 RVA: 0x000942EE File Offset: 0x000924EE
		// (set) Token: 0x060035F6 RID: 13814 RVA: 0x000942F6 File Offset: 0x000924F6
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public uint DressAvatarId
		{
			get
			{
				return this.dressAvatarId_;
			}
			set
			{
				this.dressAvatarId_ = value;
			}
		}

		// Token: 0x17000F70 RID: 3952
		// (get) Token: 0x060035F7 RID: 13815 RVA: 0x000942FF File Offset: 0x000924FF
		// (set) Token: 0x060035F8 RID: 13816 RVA: 0x00094307 File Offset: 0x00092507
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public uint UniqueId
		{
			get
			{
				return this.uniqueId_;
			}
			set
			{
				this.uniqueId_ = value;
			}
		}

		// Token: 0x060035F9 RID: 13817 RVA: 0x00094310 File Offset: 0x00092510
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public override bool Equals(object other)
		{
			return this.Equals(other as Equipment);
		}

		// Token: 0x060035FA RID: 13818 RVA: 0x00094320 File Offset: 0x00092520
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public bool Equals(Equipment other)
		{
			return other != null && (other == this || (this.Rank == other.Rank && this.Promotion == other.Promotion && this.Level == other.Level && this.Tid == other.Tid && this.Exp == other.Exp && this.IsProtected == other.IsProtected && this.DressAvatarId == other.DressAvatarId && this.UniqueId == other.UniqueId && object.Equals(this._unknownFields, other._unknownFields)));
		}

		// Token: 0x060035FB RID: 13819 RVA: 0x000943CC File Offset: 0x000925CC
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public override int GetHashCode()
		{
			int num = 1;
			if (this.Rank != 0U)
			{
				num ^= this.Rank.GetHashCode();
			}
			if (this.Promotion != 0U)
			{
				num ^= this.Promotion.GetHashCode();
			}
			if (this.Level != 0U)
			{
				num ^= this.Level.GetHashCode();
			}
			if (this.Tid != 0U)
			{
				num ^= this.Tid.GetHashCode();
			}
			if (this.Exp != 0U)
			{
				num ^= this.Exp.GetHashCode();
			}
			if (this.IsProtected)
			{
				num ^= this.IsProtected.GetHashCode();
			}
			if (this.DressAvatarId != 0U)
			{
				num ^= this.DressAvatarId.GetHashCode();
			}
			if (this.UniqueId != 0U)
			{
				num ^= this.UniqueId.GetHashCode();
			}
			if (this._unknownFields != null)
			{
				num ^= this._unknownFields.GetHashCode();
			}
			return num;
		}

		// Token: 0x060035FC RID: 13820 RVA: 0x000944BA File Offset: 0x000926BA
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public override string ToString()
		{
			return JsonFormatter.ToDiagnosticString(this);
		}

		// Token: 0x060035FD RID: 13821 RVA: 0x000944C2 File Offset: 0x000926C2
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public void WriteTo(CodedOutputStream output)
		{
			output.WriteRawMessage(this);
		}

		// Token: 0x060035FE RID: 13822 RVA: 0x000944CC File Offset: 0x000926CC
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		void IBufferMessage.InternalWriteTo(ref WriteContext output)
		{
			if (this.Level != 0U)
			{
				output.WriteRawTag(8);
				output.WriteUInt32(this.Level);
			}
			if (this.DressAvatarId != 0U)
			{
				output.WriteRawTag(16);
				output.WriteUInt32(this.DressAvatarId);
			}
			if (this.UniqueId != 0U)
			{
				output.WriteRawTag(24);
				output.WriteUInt32(this.UniqueId);
			}
			if (this.Promotion != 0U)
			{
				output.WriteRawTag(40);
				output.WriteUInt32(this.Promotion);
			}
			if (this.Rank != 0U)
			{
				output.WriteRawTag(56);
				output.WriteUInt32(this.Rank);
			}
			if (this.Tid != 0U)
			{
				output.WriteRawTag(64);
				output.WriteUInt32(this.Tid);
			}
			if (this.Exp != 0U)
			{
				output.WriteRawTag(96);
				output.WriteUInt32(this.Exp);
			}
			if (this.IsProtected)
			{
				output.WriteRawTag(112);
				output.WriteBool(this.IsProtected);
			}
			if (this._unknownFields != null)
			{
				this._unknownFields.WriteTo(ref output);
			}
		}

		// Token: 0x060035FF RID: 13823 RVA: 0x000945CC File Offset: 0x000927CC
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public int CalculateSize()
		{
			int num = 0;
			if (this.Rank != 0U)
			{
				num += 1 + CodedOutputStream.ComputeUInt32Size(this.Rank);
			}
			if (this.Promotion != 0U)
			{
				num += 1 + CodedOutputStream.ComputeUInt32Size(this.Promotion);
			}
			if (this.Level != 0U)
			{
				num += 1 + CodedOutputStream.ComputeUInt32Size(this.Level);
			}
			if (this.Tid != 0U)
			{
				num += 1 + CodedOutputStream.ComputeUInt32Size(this.Tid);
			}
			if (this.Exp != 0U)
			{
				num += 1 + CodedOutputStream.ComputeUInt32Size(this.Exp);
			}
			if (this.IsProtected)
			{
				num += 2;
			}
			if (this.DressAvatarId != 0U)
			{
				num += 1 + CodedOutputStream.ComputeUInt32Size(this.DressAvatarId);
			}
			if (this.UniqueId != 0U)
			{
				num += 1 + CodedOutputStream.ComputeUInt32Size(this.UniqueId);
			}
			if (this._unknownFields != null)
			{
				num += this._unknownFields.CalculateSize();
			}
			return num;
		}

		// Token: 0x06003600 RID: 13824 RVA: 0x000946A8 File Offset: 0x000928A8
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public void MergeFrom(Equipment other)
		{
			if (other == null)
			{
				return;
			}
			if (other.Rank != 0U)
			{
				this.Rank = other.Rank;
			}
			if (other.Promotion != 0U)
			{
				this.Promotion = other.Promotion;
			}
			if (other.Level != 0U)
			{
				this.Level = other.Level;
			}
			if (other.Tid != 0U)
			{
				this.Tid = other.Tid;
			}
			if (other.Exp != 0U)
			{
				this.Exp = other.Exp;
			}
			if (other.IsProtected)
			{
				this.IsProtected = other.IsProtected;
			}
			if (other.DressAvatarId != 0U)
			{
				this.DressAvatarId = other.DressAvatarId;
			}
			if (other.UniqueId != 0U)
			{
				this.UniqueId = other.UniqueId;
			}
			this._unknownFields = UnknownFieldSet.MergeFrom(this._unknownFields, other._unknownFields);
		}

		// Token: 0x06003601 RID: 13825 RVA: 0x00094770 File Offset: 0x00092970
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public void MergeFrom(CodedInputStream input)
		{
			input.ReadRawMessage(this);
		}

		// Token: 0x06003602 RID: 13826 RVA: 0x0009477C File Offset: 0x0009297C
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		void IBufferMessage.InternalMergeFrom(ref ParseContext input)
		{
			uint num;
			while ((num = input.ReadTag()) != 0U)
			{
				if (num <= 40U)
				{
					if (num <= 16U)
					{
						if (num == 8U)
						{
							this.Level = input.ReadUInt32();
							continue;
						}
						if (num == 16U)
						{
							this.DressAvatarId = input.ReadUInt32();
							continue;
						}
					}
					else
					{
						if (num == 24U)
						{
							this.UniqueId = input.ReadUInt32();
							continue;
						}
						if (num == 40U)
						{
							this.Promotion = input.ReadUInt32();
							continue;
						}
					}
				}
				else if (num <= 64U)
				{
					if (num == 56U)
					{
						this.Rank = input.ReadUInt32();
						continue;
					}
					if (num == 64U)
					{
						this.Tid = input.ReadUInt32();
						continue;
					}
				}
				else
				{
					if (num == 96U)
					{
						this.Exp = input.ReadUInt32();
						continue;
					}
					if (num == 112U)
					{
						this.IsProtected = input.ReadBool();
						continue;
					}
				}
				this._unknownFields = UnknownFieldSet.MergeFieldFrom(this._unknownFields, ref input);
			}
		}

		// Token: 0x04001520 RID: 5408
		private static readonly MessageParser<Equipment> _parser = new MessageParser<Equipment>(() => new Equipment());

		// Token: 0x04001521 RID: 5409
		private UnknownFieldSet _unknownFields;

		// Token: 0x04001522 RID: 5410
		public const int RankFieldNumber = 7;

		// Token: 0x04001523 RID: 5411
		private uint rank_;

		// Token: 0x04001524 RID: 5412
		public const int PromotionFieldNumber = 5;

		// Token: 0x04001525 RID: 5413
		private uint promotion_;

		// Token: 0x04001526 RID: 5414
		public const int LevelFieldNumber = 1;

		// Token: 0x04001527 RID: 5415
		private uint level_;

		// Token: 0x04001528 RID: 5416
		public const int TidFieldNumber = 8;

		// Token: 0x04001529 RID: 5417
		private uint tid_;

		// Token: 0x0400152A RID: 5418
		public const int ExpFieldNumber = 12;

		// Token: 0x0400152B RID: 5419
		private uint exp_;

		// Token: 0x0400152C RID: 5420
		public const int IsProtectedFieldNumber = 14;

		// Token: 0x0400152D RID: 5421
		private bool isProtected_;

		// Token: 0x0400152E RID: 5422
		public const int DressAvatarIdFieldNumber = 2;

		// Token: 0x0400152F RID: 5423
		private uint dressAvatarId_;

		// Token: 0x04001530 RID: 5424
		public const int UniqueIdFieldNumber = 3;

		// Token: 0x04001531 RID: 5425
		private uint uniqueId_;
	}
}
